from datetime import datetime

from entity.database.mysql import FileRecord


async def uploadFile_to_db(
    file_id: str,
    message_id: str,
    filename: str,
    file_type: int,
    oss_key: str,
    file_url: str,
    file_size: int
) -> FileRecord:
    """
    保存文件信息到数据库
    :param file_id: 文件唯一ID
    :param message_id: 消息ID
    :param filename: 原始文件名
    :param file_type: 文件类型 (0.doc, 1.docx)
    :param oss_key: OSS存储键
    :param file_url: 文件访问URL
    :param file_size: 文件大小(字节)
    :return: 文件记录对象
    """
    # 创建文件记录
    file_record = await FileRecord.create(
        file_id=file_id,
        message_id=message_id,
        filename=filename,
        file_type=file_type,
        path=oss_key,  # 使用path字段存储OSS key
        file_url=file_url,
        file_size=file_size,
        created_time=datetime.now()
    )
    return file_record

